package com.elnguage.lox;

import java.util.List;

abstract class BaseStmt{
  interface Visitor<R> {
    R visitStellaStmtBaseStmt(StellaStmt basestmt);
    R visitBasicStmtBaseStmt(BasicStmt basestmt);
  };
static class StellaStmt extends BaseStmt{
StellaStmt(StellarisStmt stella_stmt) {
this.stella_stmt = stella_stmt;
}
final StellarisStmt stella_stmt;

@Override
<R> R accept(Visitor<R> visitor){
return visitor.visitStellaStmtBaseStmt(this);
}
}
static class BasicStmt extends BaseStmt{
BasicStmt(Stmt statement) {
this.statement = statement;
}
final Stmt statement;

@Override
<R> R accept(Visitor<R> visitor){
return visitor.visitBasicStmtBaseStmt(this);
}
}

  abstract <R> R accept(Visitor<R> visitor);
}
